/*
Driver.java
Joseph Christopher Luttmann
Carnet: 10048
Seccion: 10
Fecha: 07 de Julio del 2011
Descripcion: Interaccion del radio con el usuario
*/

import java.util.Scanner;
import java.util.InputMismatchException;

public class Driver{
	public static void main(String[] args){
		//Declaracion de Objetos
		Scanner entrada = new Scanner(System.in);
		Goodbee mi_radio;
		//Declaracion de variables
		int op1, op2, op3;
		int memo = 0;
		String frec = "AM";
		double est = 530;
		double[] lista = new double[2];
		//INICIA PROGRAMA
		mi_radio = new Goodbee(est, frec, memo);
		do{
			menu();
			op1 =(int)obtenerNumero("Seleccione una de las opciones del menu: ", true);
			switch(op1){
				case 1:
					mi_radio.power();
					System.out.println(mi_radio);
					break;
				case 2:
					mi_radio.cambio();
					System.out.println(mi_radio);
					break;
				case 3:
					mi_radio.fw();
					System.out.println(mi_radio);
					break;
				case 4:
					mi_radio.bw();
					System.out.println(mi_radio);
					break;
				case 5:
					op2 = (int)obtenerNumero("presione el boton de (1-12) para almacenar estacion: ", true);
					op2 --;
					mi_radio.store(op2);
					System.out.println(mi_radio);
					break;
				case 6:
					op3 = (int)obtenerNumero("presione el boton de (1-12) para escuchar estacion almacenada: ", true);
					op3 --;
					mi_radio.select(op3);
					System.out.println(mi_radio);
					break;
				case 7:
					System.out.println("GoodBYEEEEE!!!!");
					break;
				default:
					
			}
		}while(op1 != 7 );
		
		
	}
	
	public static void menu(){
		System.out.println("*----------------------------* ");
		System.out.println("*             Menu           * ");
		System.out.println("*----------------------------* ");
		System.out.println("1. Encender Radio              ");
		System.out.println("2. Cambiar AM/FM               ");
		System.out.println("3. Avanzar                     ");
		System.out.println("4. Retroceder                  ");
		System.out.println("5. Guardar emisora en memoria  ");
		System.out.println("6. Seleccionar memoria         ");
		System.out.println("7. Apagar                      ");
		System.out.println("                               ");
	}
	
	public static double obtenerNumero(String mensaje, boolean mostrar){
        Scanner ingreso = new Scanner(System.in);
        double num = -1;
        
        System.out.print(mensaje);
        try{
            num = ingreso.nextDouble();
        }
        catch(InputMismatchException exception){
            if (mostrar)
                System.out.println("\nERROR: ~~> Dato invalido. :O(\n");
        }
        finally{
            ingreso.nextLine();//Atrapar el ENTER
        }
        return num;
    }
}